package com.xnj.testweb.core.entry;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * @author yujie
 * @data 2025/4/14 13:54
 */
@Data
@ApiModel("用户信息表")
@HeadRowHeight(value = 30) // 头部行高
@ContentRowHeight(value = 25) // 内容行高
@ColumnWidth(value = 25) // 列宽, 可以作用在类或字段上
public class SysUser {

    /**
     * ID
     */
    @ExcelIgnore
    @ApiModelProperty(value = "ID")
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 用户名
     */
    @ExcelProperty(value = "用户名")
    @ApiModelProperty(value = "用户名")
    private String userName;

    /**
     * 密码
     */
    @ExcelProperty(value = "密码")
    @ApiModelProperty(value = "密码")
    private String password;

    /**
     * 账户类型(root系统内置,visitor活动用户)
     */
    @ExcelProperty(value = "账户类型")
    @ApiModelProperty(value = "账户类型(root系统内置,visitor活动用户)")
    private String userType;

    /**
     * 角色(admin管理员，manage业务主管，clerk业务专职)
     */
    @ExcelIgnore
    @ApiModelProperty(value = "角色(admin管理员，manage业务主管，clerk业务专职)")
    private String userRole;

    /**
     * 真实姓名
     */
    @ExcelProperty(value = "真实姓名")
    @ApiModelProperty(value = "真实姓名")
    private String realName;

    /**
     * 手机号
     */
    @ExcelProperty(value = "手机号")
    @ApiModelProperty(value = "手机号")
    private String phoneNumber;

    /**
     * 电子邮箱
     */
    @ExcelProperty(value = "电子邮箱")
    @ApiModelProperty(value = "电子邮箱")
    private String userMail;

    /**
     * 部门
     */
    @ExcelProperty(value = "部门")
    @ApiModelProperty(value = "部门")
    private String department;

    /**
     * 删除标志(0已删除1未删除)
     */
    @ExcelIgnore
    @ApiModelProperty(value = "删除标志(1已删除0未删除)")
    private String delFlag;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 更新时间
     */
    @ExcelProperty(value = "更新时间")
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

}
